home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue46 / Alfresco / Homework.dpr < prev    next >
Encoding:
Text File  |  1999-04-25  |  1.2 KB  |  57 lines

  1. program Homework;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   SysUtils,
  7.   AAGenExp in 'AAGenExp.pas';
  8.  
  9. var
  10.   F : text;
  11.   ExpArry : array [1..100] of ThwAlgebraicExpr;
  12.  
  13. procedure Process(const aExpr : ThwExpression);
  14. var
  15.   Answer    : double;
  16.   IntAnswer : integer;
  17. begin
  18.   if EvaluateExpression(aExpr, Answer) then
  19.     if (1.0 <= Answer) and (Answer <= 100.0) then begin
  20.       if (Abs(Frac(Answer)) < 0.00001) then begin
  21.         IntAnswer := Round(Answer);
  22.         if (ExpArry[IntAnswer] = '') then
  23.           ExpArry[IntAnswer] := ConvertExpression(aExpr);
  24.       end;
  25.     end;
  26. end;
  27.  
  28. var
  29.   i : integer;
  30.  
  31. begin
  32.   writeln('Starting...');
  33.   try
  34.     for i := 1 to 100 do
  35.       ExpArry[i] := '';
  36.     GenerateExpressions(Process);
  37.     Assign(F, 'HOMEWORK.TXT');
  38.     Rewrite(F);
  39.     try
  40.       for i := 1 to 100 do begin
  41.         if ExpArry[i] = '' then
  42.           writeln(F, i:3, ' **none found**')
  43.         else
  44.           writeln(F, i:3, ' = ', ExpArry[i]);
  45.       end;
  46.     finally
  47.       Close(F);
  48.     end;
  49.     writeln('..done; HOMEWORK.TXT created.');
  50.   except
  51.     on E:Exception do
  52.       writeln(E.Message);
  53.   end;
  54.   write('Press Enter to terminate...');
  55.   readln;
  56. end.
  57.